package com.ylsk.check.domain.emum;

import com.google.common.collect.Maps;

import java.util.Map;

public enum ConstructionStatusEnum {


    /**
     * 未进场  （提交报备信息，但未填写进场上报）
     * 非占道施工  （提交了进场上报  并且是否占道选项 为否）
     * 占道施工 （（提交了进场上报  并且占道选项 为是）    或者 （提交了占道上报））  特别说明一下 占道上报里面有开始时间和结束时间，结束时间已到自动换成占道施工状态
     * 撤场 （提交了撤场上报 但是还没有检查或者检查未通过）
     * 结束 （提交了撤场上报 并且 检查通过）
     */


    //  0:未进场 1:非占道施工  2:占道施工 3:撤场  4:结束
    /**
     * 说明
     */
    NOT_ENTERY(0, "未进场"),
    CONSTRUCTION(1, "非占道施工"),
    ROAD_CONSTRUCTION(2, "占道施工"),
    WITHDRAWAL(3, "撤场"),
    END(4, "结束");

    /**
     * 编码
     */
    private final int code;

    /**
     * 说明
     */
    private final String remark;

    public static Map<Integer,ConstructionStatusEnum> initMap = Maps.newConcurrentMap();
    static {
        for (ConstructionStatusEnum value : ConstructionStatusEnum.values()) {
            initMap.put(value.getCode(),value);
        }
    }

    public static String getDesc(Integer code){
        if(null == code){
            return "";
        }
        return initMap.get(code) == null ? "" : initMap.get(code).getRemark();
    }
    ConstructionStatusEnum(int code, String remark) {
        this.code = code;
        this.remark = remark;
    }

    public int getCode() {
        return code;
    }

    public String getRemark() {
        return remark;
    }
}
